package cn.lei.netty.herostory.model;

import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author lil
 */
public final class UserManager {
    /**
     * 用户字典
     */
    private static final Map<Integer, User> USER_MAP = new ConcurrentHashMap<>();

    /**
     * 私有化默认构造器
     */
    private UserManager(){

   }

    /**
     * 添加用户
     * @param user
     */
   public static  void addUser(User user){
       if (user != null) {
           USER_MAP.putIfAbsent(user.userId,user);
       }
   }

    /**
     * 移除用户
     * @param userId
     */
   public static void removeByUserId(int userId){
       USER_MAP.remove(userId);
   }

    /**
     * 列表用户
     * @return
     */
   public static Collection<User> listUser(){
       return USER_MAP.values();
   }

    /**
     * 根据用户 Id 获取用户
     * @param userId
     * @return
     */
   public static User getByUserId(int userId){
       return USER_MAP.get(userId);
   }

}
